package JAVACORE_TRAINING.BASIC_JAVA.STRUCTURE_PROGRAMMING.EXCERCISES;

import java.util.Scanner;

public class EXCERCISE02 {

	public static void main(String[] args) {
		// 1. Yêu cầu người dùng nhập vào số giá trị cho số a?
		Scanner sc = new Scanner(System.in);

		// 2. Sử dụng vòng lặp Do...While để yêu bắt buộc phải nhập vào giá trị
		String strValue = "";
		double a = 0, b = 0;
		do {
			// 3. Mời nhập giá trị
			System.out.println("Mời nhập số a?");

			// 4. Nhận giá trị và kiểm tra
			strValue = sc.nextLine();
			if (strValue.isEmpty())
				System.out.println("[Bắt buộc]Bạn cần phải nhập vào giá trị cho số a!");
			else
				a = Double.parseDouble(strValue);
		} while (strValue.isEmpty());

		// TH nhập số b?
		do {
			// 5. Mời nhập giá trị
			System.out.println("Mời nhập số b?");

			// 6. Nhận giá trị và kiểm tra
			strValue = sc.nextLine();
			if (strValue.isEmpty())
				System.out.println("[Bắt buộc]Bạn cần phải nhập vào giá trị cho số b!");
			else
				b = Double.parseDouble(strValue);
		} while (strValue.isEmpty());

		// 7. Mời chọn phép tính toán
		System.out.println("Mời chọn: 0 - Cộng; 1 - Trừ; 2 - Nhân; 3 - Chia?");
		sc = new Scanner(System.in);
		int iOpt = sc.nextInt();

		// 8. Kiểm tra & tính toán dựa trên sự lựa chọn của người dùng
		if (iOpt == 0)
			System.out.println("Tổng 2 số a và b là: " + (a + b));
		else if (iOpt == 1) {
			System.out.println("Hiệu 2 số a và b là: " + (a - b));
		} else if (iOpt == 2) {
			System.out.println("Tích 2 số a và b là: " + (a * b));
		} else if (iOpt == 3) {
			// 11. Kiểm tra & phân nhánh xử lý với từng trường hợp
			if (a == 0 && b == 0)
				System.out.println("Result of function is underfined");
			else if (a != 0 && b == 0)
				System.out.println("Cannot divide by zero");
			else
				System.out.println("Thương 2 số a và b là: " + (a / b));
		}
	}
}
